<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <!-- 
        局部组件：
        1.自定义局部组件名
        2.template局部组件内容
        3.定义局部组件内容及返回值
        4.注册组件 components: { 组件名称: 组件内容 }*
        例：局部组件
            const Com = {
                template: "#son",
                data() {
                    return {

                    }
                }
            }

            new Vue({
                components: {
                    组件名: 组件配置
                }
            })
     -->
    <div id="app">
      <!-- 1.自定义局部组件名 -->
      <my-com></my-com>
      <my-coms></my-coms>
      <my-comt></my-comt>
    </div>
    <!-- 2.template局部组件-->
    <template id="com">
      <div>我是局部组件--{{ name }}</div>
    </template>

    <template id="com2">
      <div>我是局部组件2--{{ name }}</div>
    </template>

    <template id="com3">
      <div>局部组件3--{{name}}</div>
    </template>
    <script src="../vue.js"></script>
    <script>
      /* 3.定义局部组件及返回值 */
      const Com = {
        template: "#com",
        data() {
          return {
            name: "张三",
          };
        },
      };

      // 第二个组件
      const Com2 = {
        template: "#com2",
        data() {
          return {
            name: "李四",
          };
        },
      };
      //   第三个组件
      const Com3 = {
        template: "#com3",
        data() {
          return {
            name: "老六",
          };
        },
      };
      /* 4.注册组件 components: { 组件名称: 组件内容 }*/
      new Vue({
        el: "#app",
        // 注册组件
        // components: { 组件名称: 组件内容 }
        components: {
          "my-com": Com,
          "my-coms": Com2,
          "my-comt": Com3,
        },
      });
    </script>
  </body>
</html>
